博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day71 菜单的排序 点击被选中
阅读量:5958 次
发布时间:2019-06-19

本文共 2236 字,大约阅读时间需要 7 分钟。

菜单的排序:(给菜单设置权重,权重高的让他显示在上面)

 

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        r['class']='hide'        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'                r['class']= ''    return {
'menu_list': order_dict.values()}

menu.html文件

{
% for menu in menu_list %}
{
{ menu.title }}
{
% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{
% endfor %}
menu.html标签

点击后被选中

 

 自定义标签.rbac.py中 :

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'    return {'menu_list': order_dict.values()}

  menu.html文件

{#
#}{#{% for menu in menu_list %}#}{#
#}{# {
{ menu.title }}
#}{#{% endfor %}#}{#
#}
{% for menu in menu_list %}
{
{ menu.title }}
{% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{% endfor %}

  

转载于:https://www.cnblogs.com/zty1304368100/p/10574123.html

你可能感兴趣的文章
XenApp_XenDesktop_7.6实战篇之十九:安装、升级和配置StoreFront 3.0
查看>>
QCon日记
查看>>
软件单元测试工具比较
查看>>
asp:Button 使用背景图片
查看>>
嵌入式人工智能,这是A股公司中科创达的新押注
查看>>
部署Lync Server 2013持久聊天即群聊功能
查看>>
ftp测试脚本
查看>>
UISearchDisplayController
查看>>
关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析
查看>>
JSP 手记
查看>>
Mybatis XML 映射配置文件 -- 熟悉配置
查看>>
Asp.Net回车键触发Button的OnClick事件解决方案
查看>>
Selenium私房菜系列5 -- 第一个Selenium RC测试案例
查看>>
android93 进程优先级补充
查看>>
强大的Sublime编辑器
查看>>
常见hash算法的原理
查看>>
Ubuntu上安装Robomongo及添加到启动器
查看>>
全国各地区中英对照
查看>>
Server Develop (四) select实现非阻塞sever
查看>>
喜大普奔,微软Microsoft JDBC Driver For SQL Server已发布到maven中央仓库
查看>>